Layout কী এবং কেন প্রয়োজন?

Web Development - এক্সটিজেএস (ExtJS) - ExtJS Layout Management |

ExtJS একটি শক্তিশালী জাভাস্ক্রিপ্ট ফ্রেমওয়ার্ক যা ব্যবহারকারীর ইন্টারফেস (UI) তৈরি করতে ব্যবহৃত হয়। অ্যাপ্লিকেশন ডেভেলপমেন্টে ইউজার ইন্টারফেস (UI) ডিজাইন করার সময়, Layout ব্যবহৃত হয় যাতে অ্যাপ্লিকেশনের কম্পোনেন্টগুলো সঠিকভাবে এবং প্রফেশনালি সজ্জিত হয়। ExtJS তে Layout হল একটি ব্যবস্থা যা UI কম্পোনেন্টগুলিকে উপযুক্তভাবে এবং স্বাভাবিকভাবে স্ক্রীনে ব্যবস্থা করার জন্য ব্যবহৃত হয়।


Layout কী?

Layout হল একটি সিস্টেম বা কৌশল যার মাধ্যমে UI কম্পোনেন্টগুলোকে একটি নির্দিষ্ট সজ্জায় এবং অর্ডারে রেন্ডার (প্রদর্শন) করা হয়। ExtJS তে Layout সিস্টেমে কম্পোনেন্টগুলো বিভিন্ন ধরণের কন্টেইনারে সাজানো হয়, যা কম্পোনেন্টের অবস্থান এবং আকার নির্ধারণ করে।

ExtJS তে Layout বিভিন্ন ধরনের হতে পারে, যেমন BorderLayout, FitLayout, CardLayout, HBoxLayout, VBoxLayout ইত্যাদি।


Layout এর প্রধান কাজ

  • কম্পোনেন্টের অবস্থান নির্ধারণ: কম্পোনেন্টগুলোকে একে অপরের সাথে সঠিকভাবে স্থান দেওয়া।
  • কম্পোনেন্টের আকার নিয়ন্ত্রণ: কন্টেইনার বা কম্পোনেন্টের আকার এবং সাইজ অটোমেটিক্যালি নিয়ন্ত্রণ করা।
  • UI উপাদানের উপযুক্ত সজ্জা: বিভিন্ন UI কম্পোনেন্টের মধ্যে সঠিক জায়গা ভাগ করে দেওয়া যাতে তারা সুন্দরভাবে সজ্জিত হয়।

কেন Layout প্রয়োজন?

  1. কম্পোনেন্টের সঠিক অবস্থান: Layout ব্যবহারের মাধ্যমে, আপনি UI কম্পোনেন্টগুলোর সঠিক অবস্থান নির্ধারণ করতে পারেন। এটি UI ডিজাইনকে পরিষ্কার এবং বোধগম্য করে তোলে।
  2. রেসপন্সিভ ডিজাইন: Layout সিস্টেমের মাধ্যমে অ্যাপ্লিকেশনটি বিভিন্ন স্ক্রীন সাইজে স্বয়ংক্রিয়ভাবে মানিয়ে যায়। এটি মোবাইল এবং ডেস্কটপ উভয় প্ল্যাটফর্মে কাজ করার উপযোগী করে তোলে।
  3. কম্পোনেন্টের আকার এবং সাইজ নিয়ন্ত্রণ: Layout ব্যবহার করলে, আপনি কম্পোনেন্টগুলোর আকার, উচ্চতা, প্রস্থ এবং তাদের মধ্যে ব্যবধান নিয়ন্ত্রণ করতে পারেন। এটি UI কে আরও সুসংগঠিত এবং প্রতিক্রিয়া হিসেবে সহজ করে তোলে।
  4. ডাইনামিক কন্ট্রোল: Layout সিস্টেম ব্যবহার করার মাধ্যমে আপনি ডাইনামিকভাবে UI কম্পোনেন্টগুলোকে যোগ, মুছে ফেলতে এবং স্থান পরিবর্তন করতে পারেন।
  5. কাস্টমাইজেশন: ExtJS তে Layout সিস্টেম কাস্টমাইজযোগ্য, যার মাধ্যমে আপনি আপনার অ্যাপ্লিকেশনের জন্য একাধিক লেআউট তৈরী করতে পারেন, যেমন: border, fit, hbox, vbox ইত্যাদি।

ExtJS তে Layout এর বিভিন্ন ধরনের

১. BorderLayout

BorderLayout layout তে, কন্টেইনারটি পাঁচটি ভিন্ন অংশে বিভক্ত থাকে: north, south, east, west, এবং center। এটি একটি অন্যতম জনপ্রিয় লেআউট যা সাধারণত সাইডবার, টুলবার, মেনু বার ইত্যাদির জন্য ব্যবহৃত হয়।

উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'BorderLayout Example',
    layout: 'border',
    items: [
        {
            region: 'north',
            xtype: 'panel',
            height: 100,
            html: 'North Region'
        },
        {
            region: 'west',
            xtype: 'panel',
            width: 200,
            html: 'West Region'
        },
        {
            region: 'center',
            xtype: 'panel',
            html: 'Center Region'
        }
    ],
    renderTo: Ext.getBody()
});

২. FitLayout

FitLayout তে কন্টেইনারের একমাত্র কম্পোনেন্ট পুরো কন্টেইনারে ফিট হয়ে যায়। এটি একক কম্পোনেন্টের জন্য কার্যকর যেখানে পুরো কন্টেইনারে একমাত্র কম্পোনেন্ট প্রদর্শিত হবে।

উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'FitLayout Example',
    layout: 'fit',
    items: [{
        xtype: 'panel',
        html: 'This panel will fill the container.'
    }],
    renderTo: Ext.getBody()
});

৩. HBoxLayout এবং VBoxLayout

HBoxLayout এবং VBoxLayout হল Horizontal এবং Vertical Box Layouts। HBoxLayout এর মাধ্যমে কম্পোনেন্টগুলো অনুভূমিকভাবে সাজানো হয়, এবং VBoxLayout এর মাধ্যমে কম্পোনেন্টগুলো উল্লম্বভাবে সাজানো হয়।

HBoxLayout উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'HBoxLayout Example',
    layout: 'hbox',
    items: [
        { xtype: 'panel', html: 'Panel 1' },
        { xtype: 'panel', html: 'Panel 2' }
    ],
    renderTo: Ext.getBody()
});

VBoxLayout উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'VBoxLayout Example',
    layout: 'vbox',
    items: [
        { xtype: 'panel', html: 'Panel 1' },
        { xtype: 'panel', html: 'Panel 2' }
    ],
    renderTo: Ext.getBody()
});

৪. CardLayout

CardLayout তে বিভিন্ন প্যানেল বা কম্পোনেন্টগুলো কার্ড এর মতো সাজানো থাকে, এবং একে অপরের উপর চাপানো হয়। এটি সাধারণত ট্যাব, উইজেট বা স্টেপ-বাই-স্টেপ ফর্মে ব্যবহৃত হয়।

উদাহরণ:

Ext.create('Ext.panel.Panel', {
    title: 'CardLayout Example',
    layout: 'card',
    activeItem: 0, // কোন কম্পোনেন্টটি প্রথমে দেখানো হবে
    items: [
        { html: 'Card 1' },
        { html: 'Card 2' }
    ],
    renderTo: Ext.getBody()
});

সারাংশ

Layout ExtJS তে একটি অত্যন্ত গুরুত্বপূর্ণ অংশ, যা অ্যাপ্লিকেশন ইউজার ইন্টারফেসে বিভিন্ন কম্পোনেন্ট সঠিকভাবে সাজাতে সাহায্য করে। এটি ডেভেলপারদের জন্য একটি সহজ এবং শক্তিশালী উপায়, যা অ্যাপ্লিকেশনগুলোর উন্নত ইউজার ইন্টারফেস ডিজাইন করতে সাহায্য করে।

ExtJS Layout ব্যবহারের মাধ্যমে আপনি:

  • কম্পোনেন্টের সঠিক অবস্থান এবং আকার নির্ধারণ করতে পারেন।
  • রেসপন্সিভ ডিজাইন নিশ্চিত করতে পারেন যাতে আপনার অ্যাপ্লিকেশন বিভিন্ন ডিভাইসে উপযুক্তভাবে কাজ করে।
  • ডাইনামিক UI কম্পোনেন্ট তৈরি এবং তাদের মধ্যে পারস্পরিক সম্পর্ক স্থাপন করতে পারেন।
Content added By
Promotion